package org.chen.lock;

import org.chen.pool.JedisConnect;
import redis.clients.jedis.params.SetParams;

/**
 * 分布式锁的模拟使用
 */
public class LockTest {
  public static void main(String[] args) {
    JedisConnect connect = new JedisConnect();
    connect.execute(jedis->{
      String set = jedis.set("a1", "a", new SetParams().nx().ex(10));
      if (set!=null && "OK".equals(set)){//资源未被占用

        //开始进行下一步操作
        jedis.set("a2", "hello world!");
        System.out.println(jedis.get("a2"));

        //操作完后删key释放资源
        jedis.del("a1");
      }else {
        //资源被占用中，暂缓/停止操作
      }
    });
  }
}
